#ifndef SCHEMAVIEWSETTINGSDIALOG_H
#define SCHEMAVIEWSETTINGSDIALOG_H

#include <QDialog>
#include "ShowParam.h"
#include <QDialogButtonBox>
#include <QGroupBox>
#include <QGridLayout>
#include <QCheckBox>
#include <QLabel>
#include <QLineEdit>


class PreferencesDialog : private QDialog
{
    Q_OBJECT

    ShowParam * sp;

    QGridLayout      * glay;
    QLabel           * lblIP;
    QLineEdit        * leHost;
    QLabel           * lblPort;
    QLineEdit        * lePort;
    QLabel           * lblDataPath;
    QLineEdit        * ledAllDataPath;
    QPushButton      * btnChoosePath;
    QDialogButtonBox * buttonBox;
    //QGroupBox        * gbTagView;
    QGroupBox        * gbAllTags;
    QGridLayout      * glayAllTags;

    QGroupBox *gbNodeShowTag;
    QGridLayout *glayNodeShowTag;
    QCheckBox *chbUnom;
    QCheckBox *chbUmod;
    QCheckBox *chbUmin;
    QCheckBox *chbCX;
    QCheckBox *chbPh;
    QCheckBox *chbQmin;
    QCheckBox *chbUmax;
    QCheckBox *chbCX2;
    QCheckBox *chbQh;
    QCheckBox *chbQmax;
    QCheckBox *chbGbus;
    QCheckBox *chbDX;
    QCheckBox *chbPgen;
    QCheckBox *chbPgmin;
    QCheckBox *chbBbus;
    QCheckBox *chbIsChoosen;
    QCheckBox *chbQgen;
    QCheckBox *chbPhmin;
    QCheckBox *chbPU;
    QCheckBox *chbId;
    QCheckBox *chbName;
    QGroupBox *gbBranchShowTag;
    QGridLayout *glayBranchShowTag;
    QCheckBox *chbNbegin;
    QCheckBox *chbState;
    QCheckBox *chbX;
    QCheckBox *chbKt;
    QCheckBox *chbNend;
    QCheckBox *chbR;
    QCheckBox *chbYc;
    QCheckBox *chbImax;
    QCheckBox *chbShowNodeTags;
    QCheckBox *chbShowBranchTags;
    QCheckBox *chbShowTagBorder;
    
public:
    explicit PreferencesDialog( ShowParam * _sp, QWidget *parent = 0 );

    int Exec();
    
private:
    void updateControls();

private slots:
    void sltChoosePath();
};

#endif // SCHEMAVIEWSETTINGSDIALOG_H
